from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):  # 基础精通
    名称 = '基础精通'
    倍率 = 1.0

    所在等级 = 1
    等级上限 = 200
    学习间隔 = 1
    等级精通 = 110

    关联技能 = ['神焰']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = '惩戒十字'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [40, 292]
    data0 = [int(i*1.085) for i in [0, 1556, 1716, 1873, 2031, 2188, 2349, 2505, 2665, 2822, 2982, 3138, 3299, 3455, 3614, 3770, 3931, 4087, 4244, 4404, 4561, 4720, 4877, 5037, 5194, 5352, 5511, 5669, 5826, 5987, 6143, 6303, 6459, 6620, 6776,
                              6935, 7092, 7252, 7408, 7565, 7725, 7882, 8041, 8199, 8357, 8515, 8674, 8831, 8990, 9147, 9307, 9464, 9624, 9781, 9941, 10096, 10257, 10413, 10573, 10729, 10887, 11046, 11203, 11363, 11520, 11678, 11835, 11995, 12152, 12311, 12469]]
    hit0 = 1
    data1 = [int(i*1.085) for i in [0, 2338, 2574, 2812, 3048, 3287, 3523, 3760, 3998, 4234, 4473, 4709, 4947, 5183, 5422, 5659, 5895, 6133, 6369, 6608, 6844, 7082, 7318, 7557, 7794, 8030, 8268, 8504, 8743, 8980, 9217, 9454, 9690, 9929, 10165, 10403, 10639,
                              10878, 11115, 11352, 11589, 11825, 12064, 12300, 12538, 12774, 13012, 13250, 13487, 13724, 13960, 14199, 14436, 14673, 14910, 15147, 15385, 15623, 15859, 16095, 16334, 16571, 16808, 17045, 17282, 17520, 17758, 17994, 18230, 18468, 18706]]
    hit1 = 1
    CD = 6
    TP成长 = 0.10
    TP上限 = 7


class 技能2(主动技能):
    名称 = '净化火焰瓶'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [40, 292]
    data0 = [int(i*1.083) for i in [0, 3520, 3876, 4235, 4593, 4950, 5306, 5664, 6021, 6378, 6735, 7092, 7452, 7807, 8166, 8522, 8879, 9237, 9594, 9950, 10308, 10665, 11023, 11381, 11736, 12096, 12452, 12810, 13166, 13523, 13881, 14238, 14594, 14952, 15309, 15668,
                              16025, 16381, 16740, 17096, 17454, 17810, 18167, 18525, 18882, 19238, 19597, 19956, 20312, 20669, 21025, 21384, 21740, 22098, 22454, 22811, 23169, 23527, 23885, 24241, 24600, 24956, 25313, 25669, 26028, 26384, 26742, 27098, 27457, 27814, 28172]]
    hit0 = 1
    CD = 6
    TP成长 = 0.10
    TP上限 = 7


class 技能3(主动技能):
    名称 = '裁决之击'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 252]
    data0 = [int(i*1.084) for i in [0, 5773, 6360, 6945, 7530, 8118, 8703, 9289, 9874, 10459, 11046, 11632, 12217, 12803, 13391, 13976, 14562, 15148, 15732, 16321, 16905, 17490, 18076, 18663, 19248, 19835, 20420, 21007, 21593, 22177, 22762, 23349, 23935, 24521, 25107,
                              25692, 26280, 26865, 27451, 28035, 28624, 29208, 29794, 30380, 30965, 31553, 32138, 32723, 33310, 33896, 34483, 35067, 35652, 36240, 36825, 37410, 37997, 38582, 39169, 39755, 40339, 40924, 41512, 42097, 42683, 43269, 43854, 44441, 45028, 45613, 46197]]
    hit0 = 1
    CD = 8
    TP成长 = 0.10
    TP上限 = 7


class 技能4(主动技能):
    名称 = '火焰精华'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 3
    等级精通 = 60
    MP = [10, 120]
    data0 = [int(i*1.075) for i in [0, 5049, 5854, 6660, 7463, 8270, 9073, 9879, 10682, 11489, 12293, 13099, 13904, 14709, 15515, 16319, 17125, 17928, 18734, 19539, 20345, 21148, 21955, 22758, 23564, 24369, 25175, 25980, 26784, 27591, 28394, 29200, 30003, 30810, 31614,
                              32419, 33224, 34030, 34834, 35639, 36446, 37249, 38054, 38860, 39666, 40469, 41273, 42079, 42885, 43690, 44495, 45300, 46105, 46909, 47715, 48520, 49324, 50130, 50934, 51739, 52545, 53349, 54155, 54958, 55766, 56569, 57375, 58178, 58985, 59788, 60594]]
    hit0 = 1
    CD = 8
    TP成长 = 0.10
    TP上限 = 7


class 技能5(被动技能):
    名称 = '战斧精通'
    所在等级 = 20
    等级上限 = 20
    学习间隔 = 2
    等级精通 = 10

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 10:
            return round(1.05 + 0.01 * self.等级, 5)
        else:
            return round(0.95 + 0.02 * self.等级, 5)


class 技能6(主动技能):
    名称 = '神焰'
    所在等级 = 25
    等级上限 = 20
    学习间隔 = 5
    等级精通 = 10
    关联技能 = ['所有']
    MP = [30, 252]
    data0 = [0] + [3153*1.085]*20
    hit0 = 1
    CD = 10

    # 基础精通TP
    TP成长 = 0.10
    TP上限 = 5

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        elif self.等级 <= 10:
            return round(1.05 + 0.01 * self.等级, 2)
        else:
            return round(1.15 + 0.02 * (self.等级 - 10), 2)


class 技能7(主动技能):
    名称 = '审判重击'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 500]
    data0 = [int(i*1.088) for i in [0, 3701, 4079, 4454, 4829, 5206, 5581, 5956, 6331, 6706, 7083, 7459, 7834, 8209, 8587, 8962, 9338, 9714, 10089, 10464, 10839, 11214, 11592, 11967, 12342, 12718, 13095, 13470, 13847, 14222, 14597, 14972, 15347, 15725, 16100,
                              16475, 16851, 17226, 17601, 17979, 18355, 18730, 19105, 19480, 19858, 20233, 20608, 20983, 21359, 21735, 22111, 22488, 22863, 23238, 23614, 23989, 24366, 24741, 25116, 25493, 25868, 26244, 26619, 26997, 27372, 27747, 28122, 28499, 28874, 29249, 29624]]
    hit0 = 1
    data1 = [int(i*1.088) for i in [0, 3935, 4332, 4731, 5130, 5529, 5930, 6329, 6728, 7127, 7525, 7925, 8323, 8724, 9124, 9521, 9921, 10320, 10719, 11120, 11519, 11916, 12316, 12714, 13114, 13515, 13914, 14313, 14713, 15110, 15510, 15908, 16309, 16709, 17106,
                              17505, 17905, 18303, 18703, 19104, 19501, 19901, 20299, 20699, 21099, 21497, 21898, 22298, 22695, 23094, 23493, 23893, 24293, 24691, 25090, 25490, 25888, 26288, 26686, 27087, 27486, 27884, 28284, 28683, 29082, 29482, 29883, 30280, 30679, 31078, 31477]]
    hit1 = 1
    CD = 10

    TP成长 = 0.2
    TP上限 = 7

    def TP加成(self):
        return 1.0

    def 等效百分比(self, **argv):
        if self.TP等级 > 0:
            self.power1 = 1+self.TP等级 * self.TP成长
        return super().等效百分比(**argv)


class 技能8(主动技能):
    名称 = '神焰洗礼'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.053*1.075) for i in [0, 11929, 13140, 14353, 15561, 16773, 17982, 19194, 20402, 21614, 22824, 24032, 25244, 26456, 27666, 28877, 30086, 31297, 32507, 33716, 34927, 36139, 37350, 38561, 39770, 40981, 42191, 43401, 44611, 45822, 47031, 48244, 49454, 50665,
                                    51875, 53085, 54295, 55506, 56715, 57926, 59137, 60348, 61558, 62768, 63978, 65190, 66398, 67610, 68820, 70032, 71242, 72452, 73662, 74873, 76082, 77293, 78503, 79715, 80923, 82136, 83346, 84557, 85766, 86977, 88187, 89398, 90607, 91818, 93029, 94241, 95449]]
    hit0 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5

    MP = [45, 850]
    无色消耗 = 1


class 技能9(主动技能):
    名称 = '神焰斩'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.051*1.078) for i in [0, 1494, 1643, 1795, 1948, 2099, 2249, 2401, 2553, 2705, 2856, 3008, 3160, 3312, 3462, 3614, 3766, 3918, 4068, 4221, 4373, 4522, 4675, 4827, 4978, 5130, 5281, 5433, 5586, 5735, 5887, 6040, 6191, 6342,
                                    6495, 6646, 6796, 6948, 7100, 7252, 7403, 7555, 7707, 7859, 8009, 8160, 8313, 8465, 8615, 8768, 8920, 9069, 9222, 9374, 9525, 9678, 9828, 9980, 10133, 10282, 10434, 10587, 10738, 10889, 11039, 11193, 11345, 11494, 11647, 11799, 11948]]
    hit0 = 1
    data1 = [int(i*1.051*1.078) for i in [0, 13443, 14807, 16172, 17536, 18899, 20264, 21627, 22992, 24357, 25720, 27084, 28449, 29813, 31176, 32541, 33905, 35269, 36632, 37997, 39361, 40725, 42090, 43453, 44817, 46182, 47544, 48909, 50274, 51637, 53002, 54367, 55729, 57094,
                                    58458, 59821, 61186, 62550, 63914, 65279, 66643, 68006, 69370, 70735, 72097, 73462, 74827, 76190, 77553, 78920, 80281, 81646, 83011, 84376, 85738, 87103, 88468, 89830, 91194, 92559, 93923, 95286, 96651, 98015, 99379, 100744, 102106, 103471, 104836, 106198, 107563]]
    hit1 = 0
    data2 = [int(i*1.051*1.078) for i in [0, 13450, 14815, 16179, 17544, 18910, 20272, 21638, 23004, 24366, 25733, 27098, 28462, 29825, 31192, 32556, 33920, 35283, 36650, 38015, 39377, 40743, 42109, 43472, 44837, 46203, 47567, 48931, 50296, 51660, 53025, 54390, 55754, 57120,
                                    58484, 59848, 61213, 62578, 63942, 65307, 66671, 68036, 69401, 70765, 72129, 73496, 74859, 76225, 77590, 78954, 80319, 81683, 83046, 84413, 85778, 87140, 88507, 89872, 91235, 92600, 93966, 95330, 96694, 98058, 99424, 100788, 102152, 103517, 104883, 106246, 107611]]
    hit2 = 1
    CD = 20
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [45, 850]
    无色消耗 = 1

    形态 = ["焚烧", "常规"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "焚烧":
            self.hit0 = 1
            self.hit1 = 1
            self.hit1 = 0
        if 形态 == "常规":
            self.hit0 = 0
            self.hit1 = 0
            self.hit1 = 1

    def 装备护石(self):
        self.hit0 = self.power0 =  0
        self.倍率 *= 1.38
        self.CDR *= 0.85


class 技能10(主动技能):
    名称 = '神焰怒火'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.053*1.079) for i in [0, 2202, 2426, 2650, 2874, 3096, 3321, 3544, 3768, 3993, 4216, 4439, 4661, 4886, 5110, 5333, 5558, 5780, 6004, 6229, 6452, 6676, 6897, 7121, 7345, 7569, 7794, 8017, 8240, 8463, 8688, 8912, 9135, 9360, 9581, 9805,
                                    10030, 10253, 10477, 10700, 10924, 11147, 11371, 11596, 11819, 12044, 12264, 12489, 12713, 12936, 13161, 13384, 13607, 13830, 14055, 14279, 14501, 14725, 14948, 15172, 15397, 15620, 15844, 16066, 16291, 16515, 16739, 16962, 17185, 17408, 17631]]
    hit0 = 5
    data1 = [int(i*1.053*1.079) for i in [0, 7345, 8093, 8837, 9581, 10327, 11072, 11819, 12563, 13310, 14055, 14799, 15546, 16291, 17036, 17781, 18528, 19272, 20017, 20764, 21509, 22255, 23000, 23747, 24490, 25234, 25982, 26725, 27472, 28217, 28962, 29708, 30453, 31200,
                                    31944, 32690, 33435, 34181, 34926, 35671, 36417, 37162, 37909, 38654, 39399, 40144, 40890, 41635, 42380, 43127, 43871, 44618, 45362, 46106, 46852, 47597, 48344, 49088, 49835, 50580, 51324, 52071, 52816, 53561, 54306, 55053, 55797, 56542, 57289, 58034, 58780]]
    hit1 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [150, 1260]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 += 2
        self.倍率 *= 1.09
        self.CDR *= 0.85


class 技能11(主动技能):
    名称 = '行刑'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.052*1.077) for i in [0, 28708, 31619, 34532, 37445, 40356, 43269, 46184, 49094, 52008, 54921, 57832, 60745, 63655, 66569, 69483, 72394, 75307, 78220, 81131, 84044, 86957, 89868, 92781, 95696, 98607, 101520, 104433, 107344, 110257, 113168, 116081, 118995, 121906, 124819, 127733,
                                    130643, 133556, 136470, 139380, 142295, 145208, 148119, 151032, 153943, 156856, 159769, 162680, 165593, 168508, 171418, 174332, 177245, 180155, 183069, 185982, 188893, 191807, 194719, 197631, 200544, 203455, 206368, 209281, 212192, 215107, 218020, 220931, 223844, 226757, 229668]]
    hit0 = 1
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [250, 2500]
    无色消耗 = 2


    def 等效百分比(self, **argv):
        char: Character = argv.get('char', {})
        if '行刑' in char.护石栏:
            神焰倍率 = char.get_skill_by_name("神焰").加成倍率('')
            self.power0 = (1+2*神焰倍率) / (1+神焰倍率)
        return super().等效百分比(**argv)

    def 装备护石(self):
        self.CDR *= 0.9


class 技能12(被动技能):
    名称 = '异端烙印'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.075 + 0.015 * self.等级, 5)


class 技能13(主动技能):
    名称 = '火刑'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.092) for i in [0, 3632, 4473, 5316, 6159, 7000, 7843, 8687, 9527, 10371, 11211, 12055, 12898, 13739, 14582, 15423, 16266, 17109, 17950, 18793, 19634, 20477, 21320, 22161, 23004, 23845, 24688, 25532, 26372, 27216, 28058, 28899, 29743, 30585,
                                31427, 32270, 33111, 33954, 34796, 35638, 36481, 37323, 38165, 39007, 39849, 40692, 41534, 42376, 43218, 44062, 44904, 45746, 46589, 47430, 48273, 49115, 49957, 50800, 51641, 52484, 53327, 54168, 55011, 55853, 56695, 57539, 58379, 59223, 60066, 60907]]
    hit0 = 1
    data1 = [int(i*1.092) for i in [0, 10897, 13423, 15950, 18477, 21004, 23532, 26059, 28583, 31111, 33638, 36165, 38692, 41217, 43744, 46272, 48799, 51326, 53853, 56379, 58907, 61434, 63961, 66487, 69013, 71540, 74067, 76595, 79122, 81649, 84174, 86701, 89228, 91756, 94283, 96810,
                                99336, 101863, 104389, 106917, 109444, 111970, 114497, 117024, 119551, 122079, 124606, 127131, 129658, 132185, 134712, 137240, 139766, 142292, 144819, 147346, 149873, 152401, 154926, 157454, 159981, 162508, 165036, 167561, 170087, 172615, 175142, 177669, 180196, 182721]]
    hit1 = 1
    data2 = [int(i*1.092) for i in [0, 3878, 4777, 5679, 6578, 7477, 8376, 9276, 10175, 11075, 11974, 12874, 13773, 14674, 15574, 16473, 17372, 18271, 19170, 20071, 20970, 21869, 22771, 23670, 24569, 25468, 26368, 27267, 28166, 29065, 29965, 30865, 31765, 32664,
                                33565, 34464, 35363, 36262, 37163, 38062, 38961, 39861, 40762, 41661, 42560, 43459, 44359, 45258, 46157, 47056, 47957, 48857, 49756, 50655, 51556, 52455, 53354, 54253, 55154, 56053, 56952, 57853, 58752, 59652, 60551, 61450, 62350, 63249, 64148, 65047]]
    hit2 = 15
    CD = 145

    MP = [881, 7403]
    无色消耗 = 5

    def 等效百分比(self, **argv):
        if self.等级 >= 6:
            self.power2 = 1.1
        return super().等效百分比(**argv)


class 技能14(主动技能):
    名称 = '神焰漩涡'
    备注 = '最大旋转'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.053*1.076) for i in [0, 2139, 2356, 2574, 2792, 3007, 3225, 3442, 3659, 3877, 4093, 4310, 4529, 4745, 4964, 5179, 5396, 5614, 5832, 6049, 6267, 6483, 6699, 6917, 7133, 7353, 7569, 7786, 8004, 8220, 8436, 8654, 8871, 9088, 9306, 9523,
                                    9741, 9958, 10173, 10391, 10609, 10826, 11044, 11260, 11477, 11695, 11910, 12131, 12346, 12563, 12781, 12998, 13214, 13434, 13650, 13866, 14084, 14300, 14517, 14735, 14952, 15171, 15388, 15603, 15821, 16038, 16254, 16472, 16690, 16907, 17125]]
    hit0 = 9
    data1 = [int(i*1.053*1.076) for i in [0, 4517, 4977, 5435, 5893, 6351, 6811, 7269, 7727, 8185, 8643, 9103, 9561, 10020, 10477, 10935, 11395, 11853, 12312, 12769, 13230, 13687, 14145, 14604, 15061, 15522, 15979, 16438, 16897, 17353, 17814, 18271, 18732, 19189, 19648,
                                    20106, 20566, 21024, 21481, 21940, 22398, 22858, 23316, 23775, 24232, 24690, 25150, 25608, 26067, 26524, 26984, 27442, 27900, 28359, 28816, 29276, 29734, 30193, 30651, 31108, 31568, 32026, 32485, 32943, 33403, 33860, 34319, 34777, 35235, 35695, 36152]]
    hit1 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [400, 1620]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 = 13
        self.power0 = 1.01
        self.power1 = 1.14


class 技能15(主动技能):
    名称 = '净化之焰'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.05*1.08) for i in [0, 36357, 40046, 43735, 47422, 51111, 54800, 58487, 62176, 65865, 69552, 73241, 76932, 80620, 84308, 87997, 91685, 95373, 99062, 102750, 106438, 110127, 113815, 117504, 121192, 124882, 128570, 132259, 135948, 139636, 143324, 147013, 150701, 154390, 158078,
                                   161766, 165456, 169143, 172831, 176521, 180209, 183897, 187587, 191276, 194963, 198652, 202342, 206028, 209717, 213407, 217093, 220783, 224472, 228162, 231848, 235538, 239228, 242914, 246603, 250293, 253979, 257669, 261358, 265044, 268734, 272423, 276110, 279799, 283489, 287175, 290865]]
    hit0 = 1
    CD = 40
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [800, 1680]
    无色消耗 = 2

    def 装备护石(self):
        self.倍率 *= 1.27


class 技能16(主动技能):
    名称 = '裁决轮回斩'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.051*1.08) for i in [0, 3728, 4107, 4485, 4865, 5243, 5621, 5999, 6379, 6757, 7136, 7513, 7891, 8270, 8649, 9027, 9405, 9784, 10163, 10541, 10920, 11299, 11678, 12055, 12434, 12813, 13189, 13568, 13946, 14325, 14704, 15083, 15460, 15839, 16218,
                                    16597, 16975, 17354, 17733, 18111, 18488, 18867, 19244, 19625, 20002, 20381, 20759, 21139, 21517, 21895, 22273, 22653, 23031, 23410, 23786, 24164, 24544, 24922, 25300, 25678, 26058, 26436, 26815, 27192, 27573, 27950, 28329, 28707, 29084, 29463, 29841]]
    hit0 = 3
    data1 = [int(i*1.051*1.08) for i in [0, 59403, 65432, 71458, 77486, 83512, 89537, 95564, 101593, 107619, 113644, 119672, 125698, 131727, 137753, 143778, 149804, 155832, 161858, 167885, 173912, 179939, 185966, 191993, 198018, 204045, 210073, 216099, 222124, 228152, 234180, 240207, 246232, 252259, 258286,
                                    264314, 270340, 276365, 282393, 288419, 294448, 300473, 306500, 312527, 318553, 324580, 330605, 336634, 342660, 348688, 354713, 360739, 366768, 372794, 378821, 384846, 390873, 396901, 402929, 408954, 414980, 421008, 427034, 433062, 439088, 445114, 451141, 457168, 463193, 469221, 475249]]
    hit1 = 1
    CD = 40
    是否有护石 = 1

    MP = [580, 4500]
    无色消耗 = 3

    def 装备护石(self):
        self.hit0 = 2
        self.power0 = 1.37
        self.power1 = 1.26
        self.CDR *= 0.92


class 技能17(被动技能):
    名称 = '定罪法则'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['惩戒十字', '净化火焰瓶', '裁决之击', '神焰', '审判重击', '神焰洗礼', '神焰斩', '神焰怒火', '行刑',
            '火刑', '神焰漩涡', '净化之焰', '裁决轮回斩', '车轮刑', '炎狱祭坛：炮烙', '补赎逆十字', '无间业火：罪灭神威']
    关联技能1 = ['火焰精华']
    冷却关联技能 = ['火焰精华', '神焰']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.02 * self.等级, 5)

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return(round(1.073 + 0.017 * self.等级, 5))

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.85


class 技能18(主动技能):
    名称 = '车轮刑'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.052*1.076) for i in [0, 2445, 2693, 2939, 3189, 3437, 3685, 3933, 4182, 4429, 4677, 4926, 5173, 5422, 5670, 5917, 6166, 6414, 6662, 6910, 7159, 7406, 7654, 7903, 8150, 8399, 8647, 8894, 9143, 9391, 9639, 9887, 10137, 10383, 10631, 10881,
                                    11131, 11378, 11626, 11875, 12122, 12371, 12619, 12866, 13115, 13363, 13611, 13859, 14109, 14355, 14603, 14852, 15099, 15348, 15596, 15843, 16092, 16340, 16588, 16836, 17086, 17332, 17580, 17830, 18076, 18326, 18574, 18820, 19070, 19318, 19566]]
    hit0 = 1
    data1 = [int(i*1.052*1.076) for i in [0, 2445, 2693, 2939, 3189, 3437, 3685, 3933, 4182, 4429, 4677, 4926, 5173, 5422, 5670, 5917, 6166, 6414, 6662, 6910, 7159, 7406, 7654, 7903, 8150, 8399, 8647, 8894, 9143, 9391, 9639, 9887, 10137, 10383, 10631, 10881,
                                    11131, 11378, 11626, 11875, 12122, 12371, 12619, 12866, 13115, 13363, 13611, 13859, 14109, 14355, 14603, 14852, 15099, 15348, 15596, 15843, 16092, 16340, 16588, 16836, 17086, 17332, 17580, 17830, 18076, 18326, 18574, 18820, 19070, 19318, 19566]]
    hit1 = 25
    data2 = [int(i*1.052*1.076) for i in [0, 15690, 17284, 18874, 20468, 22059, 23650, 25244, 26835, 28427, 30018, 31612, 33202, 34795, 36388, 37978, 39571, 41163, 42755, 44346, 45940, 47531, 49123, 50716, 52305, 53899, 55489, 57083, 58675, 60268, 61859, 63451, 65043, 66633, 68227,
                                    69819, 71411, 73003, 74594, 76186, 77780, 79371, 80962, 82555, 84147, 85738, 87331, 88924, 90514, 92108, 93698, 95290, 96883, 98475, 100067, 101658, 103252, 104842, 106436, 108026, 109618, 111212, 112803, 114395, 115986, 117580, 119170, 120763, 122356, 123946, 125539]]
    hit2 = 1
    CD = 45
    是否有护石 = 1

    MP = [600, 5000]
    无色消耗 = 5

    def 装备护石(self):
        self.倍率 *= 1.31


class 技能19(主动技能):
    名称 = '炎狱祭坛：炮烙'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.092) for i in [0, 22775, 28055, 33336, 38616, 43898, 49180, 54460, 59741, 65022, 70305, 75586, 80868, 86147, 91429,
                              96711, 101993, 107273, 112552, 117834, 123116, 128398, 133679, 138961, 144240, 149523, 154804, 160086, 165366, 170647, 175929]]
    hit0 = 3
    data1 = [int(i*1.092) for i in [0, 102487, 126251, 150017, 173783, 197548, 221312, 245081, 268844, 292610, 316376, 340141, 363906, 387671,
                              411437, 435203, 458966, 482732, 506497, 530262, 554030, 577796, 601560, 625326, 649091, 672857, 696622, 720386, 744152, 767916, 791682]]
    hit1 = 1
    CD = 180

    MP = [2500, 5000]
    无色消耗 = 10


class 技能20(主动技能):
    名称 = '补赎逆十字'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.085) for i in [0, 58864, 64836, 70807, 76779, 82752, 88722, 94695, 100667, 106639, 112610, 118582, 124554, 130525, 136497, 142469, 148440, 154413, 160385, 166356, 172328, 178300, 184272, 190243, 196215, 202187, 208158, 214131, 220103, 226074,
                              232046, 238018, 243989, 249961, 255933, 261904, 267876, 273848, 279821, 285792, 291764, 297736, 303707, 309679, 315651, 321622, 327594, 333566, 339537, 345510, 351482, 357454, 363425, 369397, 375369, 381340, 387312, 393284, 399255, 405228, 411200]]
    hit0 = 1
    data1 = [int(i*1.085) for i in [0, 73580, 81045, 88510, 95975, 103440, 110903, 118368, 125833, 133298, 140763, 148228, 155693, 163156, 170621, 178086, 185551, 193016, 200481, 207946, 215411, 222874, 230339, 237804, 245269, 252734, 260199, 267664, 275127, 282592,
                              290057, 297522, 304987, 312452, 319917, 327380, 334845, 342310, 349775, 357240, 364705, 372170, 379635, 387098, 394563, 402028, 409493, 416958, 424423, 431888, 439351, 446816, 454281, 461746, 469211, 476676, 484141, 491605, 499069, 506534, 513999]]
    hit1 = 1
    data2 = [int(i*1.085) for i in [0, 736, 810, 884, 959, 1033, 1109, 1183, 1258, 1332, 1406, 1482, 1556, 1631, 1705, 1780, 1855, 1930, 2004, 2078, 2154, 2228, 2303, 2377, 2452, 2527, 2602, 2676, 2750,
                              2825, 2900, 2975, 3049, 3124, 3198, 3274, 3348, 3422, 3497, 3571, 3647, 3721, 3796, 3870, 3946, 4020, 4094, 4169, 4243, 4319, 4393, 4468, 4542, 4616, 4692, 4766, 4841, 4915, 4989, 5065, 5140]]
    hit2 = 20+20
    CD = 60

    MP = [800, 6667]
    无色消耗 = 7

    形态 = ["焚烧", "常规"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "焚烧":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 20+20
        if 形态 == "常规":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 20


class 技能21(被动技能):
    名称 = '狂炎告解'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能22(主动技能):
    名称 = '无间业火：罪灭神威'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.09) for i in [0, 5033, 6201, 7367, 8535, 9702, 10870, 12036, 13203, 14371, 15538, 16705, 17872, 19040, 20207, 21373, 22541, 23708, 24876, 26043, 27210, 28377, 29545, 30712, 31878, 33046, 34213, 35381, 36547, 37715,
                              38882, 40050, 41216, 42383, 43551, 44718, 45886, 47052, 48220, 49387, 50554, 51721, 52888, 54056, 55223, 56390, 57557, 58725, 59892, 61059, 62226, 63393, 64561, 65728, 66895, 68062, 69230, 70397, 71563, 72731, 73898]]
    hit0 = 1
    data1 = [int(i*1.09) for i in [0, 45302, 55807, 66311, 76816, 87321, 97826, 108331, 118836, 129341, 139846, 150351, 160856, 171359, 181864, 192369, 202874, 213379, 223884, 234389, 244894, 255399, 265904, 276408, 286913, 297418, 307923, 318428, 328933, 339438,
                              349943, 360448, 370952, 381457, 391962, 402467, 412972, 423477, 433982, 444487, 454991, 465496, 476000, 486505, 497010, 507515, 518020, 528525, 539030, 549535, 560040, 570545, 581049, 591554, 602059, 612564, 623069, 633574, 644079, 654584, 665089]]
    hit1 = 1
    data2 = [int(i*1.09) for i in [0, 352349, 434054, 515759, 597463, 679168, 760873, 842576, 924281, 1005986, 1087690, 1169395, 1251099, 1332803, 1414508, 1496212, 1577917, 1659621, 1741325, 1823030, 1904735, 1986439, 2068143, 2149847, 2231552, 2313257, 2394961, 2476665, 2558370, 2640074,
                              2721779, 2803484, 2885188, 2966892, 3048596, 3130301, 3212006, 3293710, 3375414, 3457119, 3538824, 3620528, 3702233, 3783936, 3865641, 3947346, 4029050, 4110755, 4192458, 4274163, 4355867, 4437573, 4519277, 4600982, 4682685, 4764390, 4846095, 4927800, 5009504, 5091208, 5172912]]
    hit2 = 1
    data3 = [int(i*1.09) for i in [0, 12584, 15501, 18419, 21338, 24255, 27174, 30091, 33010, 35928, 38845, 41764, 44681, 47600, 50518, 53435, 56354, 59271, 62190, 65108, 68026, 70944, 73861, 76780, 79698, 82616, 85534, 88451, 91370, 94288, 97206,
                              100124, 103041, 105960, 108878, 111796, 114714, 117632, 120550, 123468, 126386, 129304, 132222, 135140, 138058, 140976, 143894, 146812, 149730, 152649, 155566, 158484, 161402, 164320, 167239, 170156, 173074, 175992, 178910, 181829, 184746]]
    hit3 = 8
    CD = 290

    MP = [4028, 8056]
    无色消耗 = 15


class classChange(Character):
    def __init__(self):
        self.实际名称 = 'inquistor'
        self.名称 = '神启·异端审判者'
        self.角色 = '圣职者(女)'
        self.角色类型 = '输出'
        self.职业 = '异端审判者'
        # 用来筛CP武器的
        self.转职 = '异端审判者'
        self.武器选项 = ['战斧']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '战斧'
        self.防具类型 = '重甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.93

        super().__init__()
